Refactoring Catalog for Legacy software using C and Aspect Oriented Language

نویسندگان

  • Zeba Khanam
  • Jamia Millia Islamia
چکیده

This paper explores the combination of AOP and refactoring, two techniques that deals with the problems of permanent evolution of software. AOP has evolved to deal with a large legacy of object-oriented (OO) code. Most of the work has been done in the area of refactoring the object oriented code but little with the procedural code and that too with aspect orientation. But the AO concept when applied to the procedural source code can be used to solve the existence of potential problems in the code thus improving the underlying design. The poorly designed procedural code when refactored with aspect orientation yields a better code. This paper documents a collection of novel refactorings enabling the extraction of crosscutting concerns from the procedural legacy source code. Therefore we establish a systematic approach for refactoring and then propose a refactoring catalog to deal with the procedural code that establishes a systematic approach to refactor the procedural code. To this end, we first investigate the impact of existing object-oriented refactorings such as those proposed by Fowler on procedural code. Then we propose some novel refactorings that are unique to the procedural code and the ones using the aspect concept are termed as aspect-oriented refactorings. We use AspeCt oriented C, an AOP language for C to demonstrate our approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Introduction of Aspect Oriented Techniques for refactoring legacy software

Refactoring has become a well-known technique for improving the code in a way that preserves behavior. The application of refactorings during development process of an object oriented or procedure oriented software improves the design and therefore the quality of software. During the evolution of software it is a requirement to refactor them in order to make it more compatible and flexible with...

متن کامل

Introduction of Aspect Oriented Techniques for Refactoring Legacy Software

Refactoring has become a well-known technique for improving the code in a way that preserves behavior. The application of refactorings during development process of an object oriented or procedure oriented software improves the design and therefore the quality of software. During the evolution of software it is a requirement to refactor them in order to make it more compatible and flexible with...

متن کامل

A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw

Aspect oriented programming aims at achieving better modularization for a system’s crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspectorientation wil...

متن کامل

Towards Language-Independent Weaving Using Grammar Adapters

Current practices to support software evolution and restructuring, such as aspect-oriented software development and refactoring, have offered new capabilities for addressing the challenges of adapting software. Aspect weavers and refactoring engines enable the evolution of software in a modular and extensible manner, thereby improving the structure of the program and rendering new behavior. How...

متن کامل

Planning an Automated Aspect Mining Tool

Software systems are growing in size and complexity. Increased complexity often leads to decresed mainainability and bad modularity, and re-engineering tasks is often performed in order to increase the key qualities of the system. With the incentive of a growing attention to aspect-oriented programming, the efforts to devise new techniques for refactoring legacy system into an aspect-oriented d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011